#################################
# 一、基础准备
#################################
#
# 1、正常时间跳过此步骤，同步时间，如果做了快照恢复时间不对才做
# 重启时间同步服务
sudo systemctl restart chronyd

# 同步时间
sudo chronyc makestep

# 显示时间，如果不对重复上述两步
date

# 2、直接Linux系统操作可跳过。安装 SSH 服务，方便从 Windows 下访问系统
sudo apt install -y openssh-server

# 查看列表里面是否有22端口，有则服务正常进行进行下面操作
ss -nalt

# 查看 ip 地址，一般选：192.168.x.x
ip addr
# 然后从Win下运行： ssh 用户@192.168.x.x

# 3、更改为中科大源，已修改可跳过
sudo sed -i 's@//.*archive.ubuntu.com@//mirrors.ustc.edu.cn@g' /etc/apt/sources.list.d/ubuntu.sources

# 检查软件更新列表，便于便于后续安装和更新软件
sudo apt update

# 4、安装必要库
sudo apt install -y curl

# 检查软件更新列表，便于便于后续安装和更新软件
sudo apt update

# 更新全部软件，网速慢可不做
sudo apt upgrade

#################################
# 二、安装 Node.js
#################################
#
# 安装 NodeJS，详见：https://nodejs.org/zh-cn/download
# 下载并安装 nvm：
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

# 代替重启 shell
\. "$HOME/.nvm/nvm.sh"

# 设置nvm国内镜像
NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node/

# 下载并安装 Node.js：
nvm install 24

# 验证 Node.js 版本：
node -v # 需显示v24.x.x

# 验证 npm 版本：
npm -v # 需显示v10.x.x及以上

#################################
# 三、安装 OpenClaw
#################################
#
# 国内阿里云镜像加速
npm config set registry https://registry.npmmirror.com

# 安装最新版本 OpenClaw
npm install -g openclaw@latest --verbose

# 列出可安装的各个版本
# npm view openclaw versions

# 安装指定版本 OpenClaw
# npm install -g openclaw@2026.3.24 --verbose

# npm方式安装后卸载 OpenClaw
# npm uninstall -g openclaw

# 验证安装
openclaw --version

#################################
# 四、配置使用 OpenClaw
#################################
#
# 启动新手引导向导，并安装后台守护进程
openclaw onboard --install-daemon

# Web管理界面，然后根据提示进行端口映射，比如：ssh -N -L 18789:127.0.0.1:18789 xxx@xxx
openclaw dashboard

# Tui 控制台界面
openclaw tui

# 同网段启用web管理界面
# 编辑 ~/openclaw/openclaw.json
# 搜索 ：local
# 修改 bind 开始内容为：
#     "bind": "lan",
#     "controlUi": {
#       "allowedOrigins": ["*"],
#       "allowInsecureAuth": true,
#       "dangerouslyDisableDeviceAuth": true
#     },
# 重启服务：
#    openclaw gateway restart
# 即可用浏览器访问


#################################
# 五、配置微信、QQ等
#################################
#
# 1、配置微信ClawBot，需要把微信升级到最新版本，“设置-插件-微信ClawBot”
# 在聊天窗口输入：
#      npx -y @tencent-weixin/openclaw-weixin-cli@latest install
# 等待OpenClaw安装，或者在控制台下面命令安装：
#      openclaw plugins install "@tencent-weixin/openclaw-weixin@latest"
# 安装成功后，在控制台运行下面的命令：
#      openclaw channels login --channel openclaw-weixin
# 正常会出现二维码，通过微信扫码绑定后，即可从“微信ClawBot”中直接聊天访问控制

# 2、配置QQ-BOT：
# 浏览器访问： https://q.qq.com/qqbot/openclaw/login.html
#  a、打开页面后，在右侧使用 QQ 扫码登录。
#  b、创建机器人
#  c、安装OpenClaw开源社区QQBot插件
#      openclaw plugins install @tencent-connect/openclaw-qqbot@latest
#   配置绑定当前QQ机器人
#      openclaw channels add --channel qqbot --token "xxxxxxx:yyyyyyyyy"
#   重启本地OpenClaw服务
#      openclaw gateway restart

#################################
# 六、升级OpenClaw
#################################
#
# 1、 备份配置（重要！）
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak

# 2、升级
openclaw gateway stop
npm update -g openclaw  --verbose

# 3、自动修复 + 重启
openclaw doctor --fix
openclaw gateway restart

#
# 七、一些功能技巧等
#
#  1、Web查看工作区文件
cd ~/.openclaw/workspace/ && python3 -m http.server 8080

# 2、卸载 OpenClaw
npm uninstall -g openclaw
